package com.bcc.airlines.app;

import javax.swing.JOptionPane;
import javax.swing.UIManager;

import com.bcc.airlines.ui.MainUI;

/**
 * Classe principal.
 *
 * Possui as capacidades de iniciar, salvar o estado e encerrar a aplicacao
 *
 * 
 *
 */
public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Main app = new Main();
        app.init();
    }

    public Main() {
    }

    /**
     * Inicia a base de dados Configura o Look and Feel para ficar com o estilo
     * do sistema, se possivel Cria a fachada Cria a janela da UI, e manda a
     * fachada para ela
     *
     * Exibe a janela criada e o usuario que se vire daqui pra frente
     */
    public void init() {
        initGUILookAndFeel();

        Facade fachada = new Facade();
        MainUI ui = new MainUI(fachada);
        ui.setVisible(true);
    }

    /**
     * Salva os dados e sai da aplicacao
     */
    public static void quit() {
        System.exit(0);
    }

    /**
     * Coloca a Look and Feel do sistema
     */
    private void initGUILookAndFeel() {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "LookAndFeel FAIL");
        }
    }
}
